📨 API de TipoMensagem - Documentação Completa

📋 Visão Geral

A API de TipoMensagem é responsável por toda a gestão de tipos de mensagem, estilos de resposta e tipos de resposta no sistema CordenaAi. Esta API permite configurar diferentes categorias de mensagens, definir como os usuários devem responder a essas mensagens e gerenciar os estilos de interação disponíveis no sistema.

🎯 Endpoints Disponíveis

📝 Tipos de Mensagem

1. GET /api/TipoMensagem/tipos-mensagem

Listar Todos os Tipos de Mensagem

2. POST /api/TipoMensagem/tipos-mensagem

Criar Novo Tipo de Mensagem

3. GET /api/TipoMensagem/tipos-mensagem/{id}

Obter Tipo de Mensagem por ID

4. PUT /api/TipoMensagem/tipos-mensagem/{id}

Atualizar Tipo de Mensagem

5. DELETE /api/TipoMensagem/tipos-mensagem/{id}

Excluir Tipo de Mensagem

🎨 Tipos de Resposta

6. GET /api/TipoMensagem/tipos-resposta

Listar Todos os Tipos de Resposta

7. GET /api/TipoMensagem/tipos-resposta/{id}

Obter Tipo de Resposta por ID

🎭 Estilos de Resposta

8. GET /api/TipoMensagem/estilos-resposta

Listar Todos os Estilos de Resposta

9. POST /api/TipoMensagem/estilos-resposta

Criar Novo Estilo de Resposta

10. GET /api/TipoMensagem/estilos-resposta/{id}

Obter Estilo de Resposta por ID

11. PUT /api/TipoMensagem/estilos-resposta/{id}

Atualizar Estilo de Resposta

12. DELETE /api/TipoMensagem/estilos-resposta/{id}

Excluir Estilo de Resposta

🔧 Modelo de Dados

Estrutura do TipoMensagemEntity

{
  "id": "integer",
  "tipoMensagem": "string",
  "estiloRespostaId": "integer",
  "criacao": "datetime",
  "usuarioCriacao": "string",
  "atualizacao": "datetime",
  "usuarioAtualizacao": "string"
}

Estrutura do EstiloRespostaEntity

{
  "id": "integer",
  "nome": "string",
  "descricao": "string",
  "tipoControle": "string",
  "opcoesJson": "string",
  "ativo": "boolean",
  "criacao": "datetime",
  "usuarioCriacao": "string",
  "atualizacao": "datetime",
  "usuarioAtualizacao": "string"
}

Estrutura do TipoRespostaEntity

{
  "id": "integer",
  "tipoResposta": "string",
  "criacao": "datetime",
  "usuarioCriacao": "string",
  "atualizacao": "datetime",
  "usuarioAtualizacao": "string"
}

DTOs de Request

CriarTipoMensagemRequest

{
  "tipoMensagem": "string",
  "estiloRespostaId": "integer"
}

CriarEstiloRespostaRequest

{
  "nome": "string",
  "descricao": "string",
  "tipoControle": "string",
  "opcoesJson": "string",
  "ativo": "boolean"
}

🔐 Autenticação e Autorização

Todos os endpoints requerem:

📊 Casos de Uso Principais

1. Configuração de Tipos de Mensagem

POST /api/TipoMensagem/tipos-mensagem
Content-Type: application/json
Authorization: Bearer {token}

{
  "tipoMensagem": "Comunicado Urgente",
  "estiloRespostaId": 1
}

2. Criação de Estilo de Resposta

POST /api/TipoMensagem/estilos-resposta
Content-Type: application/json
Authorization: Bearer {token}

{
  "nome": "Sim ou Não",
  "descricao": "Resposta simples de confirmação",
  "tipoControle": "sim_nao",
  "opcoesJson": "[\"Sim\", \"Não\"]",
  "ativo": true
}

3. Busca de Tipos de Mensagem

GET /api/TipoMensagem/tipos-mensagem
Authorization: Bearer {token}

4. Atualização de Tipo de Mensagem

PUT /api/TipoMensagem/tipos-mensagem/1
Content-Type: application/json
Authorization: Bearer {token}

{
  "id": 1,
  "tipoMensagem": "Comunicado Importante",
  "estiloRespostaId": 2
}

⚠️ Validações e Regras de Negócio

Validações Obrigatórias

Tipos de Mensagem

Estilos de Resposta

Tipos de Resposta

Regras de Negócio

Tipos de Controle Disponíveis

Regras Gerais

🚨 Tratamento de Erros

Códigos de Status HTTP

Formato de Erro

{
  "error": "string",
  "message": "string",
  "details": "string",
  "timestamp": "datetime"
}

📈 Performance e Limitações

Limitações

Otimizações

🔄 Integração com Outros Módulos

Módulos Relacionados

📱 Uso em Aplicações

Web App

Mobile App

🛠️ Manutenção e Monitoramento

Logs Importantes

Métricas Monitoradas

📚 Exemplos Práticos

Fluxo Completo de Configuração

  1. Validação de dados no backend pela própria API
  2. POST /api/TipoMensagem/estilos-resposta para criar estilo
  3. POST /api/TipoMensagem/tipos-mensagem associando ao estilo
  4. Configuração de permissões via UsuarioPermissaoTipoMensagem
  5. Disponibilização para uso em mensagens

Fluxo de Uso em Mensagens

  1. GET /api/TipoMensagem/tipos-mensagem para listar opções
  2. Seleção do tipo no formulário de mensagem
  3. Carregamento do estilo associado automaticamente
  4. Renderização da interface baseada no estilo
  5. Processamento da resposta conforme configuração

Fluxo de Atualização

  1. GET /api/TipoMensagem/tipos-mensagem/{id} para obter dados atuais
  2. Validação de alterações no backend pela própria API
  3. PUT /api/TipoMensagem/tipos-mensagem/{id} com dados atualizados
  4. Atualização do cache automaticamente
  5. Notificação de mudanças para usuários afetados

Versão: 1.0
Última Atualização: Outubro de 2025
Responsável: Equipe de Desenvolvimento CordenaAi